home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dgehrd.z / dgehrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))                                                          DDDDGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DGEHRD - reduce a real general matrix A to upper Hessenberg form H by an
  10.      orthogonal similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DGEHRD( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
  14.  
  15.          INTEGER        IHI, ILO, INFO, LDA, LWORK, N
  16.  
  17.          DOUBLE         PRECISION A( LDA, * ), TAU( * ), WORK( LWORK )
  18.  
  19. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  20.      DGEHRD reduces a real general matrix A to upper Hessenberg form H by an
  21.      orthogonal similarity transformation:  Q' * A * Q = H .
  22.  
  23.  
  24. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  25.      N       (input) INTEGER
  26.              The order of the matrix A.  N >= 0.
  27.  
  28.      ILO     (input) INTEGER
  29.              IHI     (input) INTEGER It is assumed that A is already upper
  30.              triangular in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI
  31.              are normally set by a previous call to DGEBAL; otherwise they
  32.              should be set to 1 and N respectively. See Further Details.
  33.  
  34.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
  35.              On entry, the N-by-N general matrix to be reduced.  On exit, the
  36.              upper triangle and the first subdiagonal of A are overwritten
  37.              with the upper Hessenberg matrix H, and the elements below the
  38.              first subdiagonal, with the array TAU, represent the orthogonal
  39.              matrix Q as a product of elementary reflectors. See Further
  40.              Details.  LDA     (input) INTEGER The leading dimension of the
  41.              array A.  LDA >= max(1,N).
  42.  
  43.      TAU     (output) DOUBLE PRECISION array, dimension (N-1)
  44.              The scalar factors of the elementary reflectors (see Further
  45.              Details). Elements 1:ILO-1 and IHI:N-1 of TAU are set to zero.
  46.  
  47.      WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
  48.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  49.  
  50.      LWORK   (input) INTEGER
  51.              The length of the array WORK.  LWORK >= max(1,N).  For optimum
  52.              performance LWORK >= N*NB, where NB is the optimal blocksize.
  53.  
  54.      INFO    (output) INTEGER
  55.              = 0:  successful exit
  56.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))                                                          DDDDGGGGEEEEHHHHRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  75.      The matrix Q is represented as a product of (ihi-ilo) elementary
  76.      reflectors
  77.  
  78.         Q = H(ilo) H(ilo+1) . . . H(ihi-1).
  79.  
  80.      Each H(i) has the form
  81.  
  82.         H(i) = I - tau * v * v'
  83.  
  84.      where tau is a real scalar, and v is a real vector with
  85.      v(1:i) = 0, v(i+1) = 1 and v(ihi+1:n) = 0; v(i+2:ihi) is stored on exit
  86.      in A(i+2:ihi,i), and tau in TAU(i).
  87.  
  88.      The contents of A are illustrated by the following example, with n = 7,
  89.      ilo = 2 and ihi = 6:
  90.  
  91.      on entry,                        on exit,
  92.  
  93.      ( a   a   a   a   a   a   a )    (  a   a   h   h   h   h   a ) (     a
  94.      a   a   a   a   a )    (      a   h   h   h   h   a ) (     a   a   a   a
  95.      a   a )    (      h   h   h   h   h   h ) (     a   a   a   a   a   a )
  96.      (      v2  h   h   h   h   h ) (     a   a   a   a   a   a )    (      v2
  97.      v3  h   h   h   h ) (     a   a   a   a   a   a )    (      v2  v3  v4  h
  98.      h   h ) (                         a )    (                          a )
  99.  
  100.      where a denotes an element of the original matrix A, h denotes a modified
  101.      element of the upper Hessenberg matrix H, and vi denotes an element of
  102.      the vector defining H(i).
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.